package LeetCode.leetcode101;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;



class Solution {
    public boolean isSymmetric(TreeNode root) {
        if (root == null)
            return true;
        return isAlike(root.left, root.right);

    }

    public static boolean isAlike(TreeNode node1, TreeNode node2) {
        if (node1 == null && node2 == null) {//如果比到此时这两个节点都为空，证明到此时是都相同的
            return true;
        } else if (node1 != null && node2 != null) {
            //比较这个值是否相等
            if (node1.val != node2.val)
                return false;
            //左边
            if (!isAlike(node1.left, node2.left)) {
                return false;
            }
            //右边
            if (!isAlike(node1.right, node2.right)) {
                return false;
            }
            return true;
        } else {//如果是一个为空一个不为空肯定两棵二叉树就是不同的
            return false;
        }
    }
}
